package com.ruoyi.stock2.mapper;

import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentLinkedQueue;

import org.apache.ibatis.annotations.Param;

import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.stock2.domain.TRADEDATA;
import com.ruoyi.stock2.domain.TradeDataAndForetell;

/**
 * 交易数据Mapper接口
 * 
 * @author ruoyi
 * @date 2019-10-21
 */
public interface TRADEDATAMapper 
{
    /**
     * 查询交易数据
     * 
     * @param id 交易数据ID
     * @return 交易数据
     */
	@DataSource(value = DataSourceType.SLAVE)
    public TRADEDATA selectTRADEDATAById(Long id);

    /**
     * 查询交易数据列表
     * 
     * @param tRADEDATA 交易数据
     * @return 交易数据集合
     */
	@DataSource(value = DataSourceType.SLAVE)
    public List<TRADEDATA> selectTRADEDATAList(TRADEDATA tRADEDATA);

	@DataSource(value = DataSourceType.SLAVE)
	public List<TRADEDATA> selectTradedataListForSeq2SeqTrainData(TRADEDATA tRADEDATA);

	@DataSource(value = DataSourceType.SLAVE)
	public List<TradeDataAndForetell> selectTradeDataAndForetellListLessDate(TRADEDATA tRADEDATA);

	@DataSource(value = DataSourceType.SLAVE)
	public List<TradeDataAndForetell> selectTradeDataAndForetellListMoreDate(TRADEDATA tRADEDATA);


	@DataSource(value = DataSourceType.SLAVE)
	public List<TRADEDATA> selectTradedataListForFasttextTrainModelType(TRADEDATA tRADEDATA);
    /**
     * 新增交易数据
     * 
     * @param tRADEDATA 交易数据
     * @return 结果
     */
	@DataSource(value = DataSourceType.SLAVE)
    public int insertTRADEDATA(TRADEDATA tRADEDATA);

    /**
     * 修改交易数据
     * 
     * @param tRADEDATA 交易数据
     * @return 结果
     */
	@DataSource(value = DataSourceType.SLAVE)
    public int updateTRADEDATA(TRADEDATA tRADEDATA);

    /**
     * 删除交易数据
     * 
     * @param id 交易数据ID
     * @return 结果
     */
	@DataSource(value = DataSourceType.SLAVE)
    public int deleteTRADEDATAById(Long id);

    /**
     * 批量删除交易数据
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	@DataSource(value = DataSourceType.SLAVE)
    public int deleteTRADEDATAByIds(String[] ids);
	
	
	
	
	

	@DataSource(value = DataSourceType.SLAVE)
	List<TRADEDATA> getByKeyDateTimeDesc(TRADEDATA tRADEDATA);

	@DataSource(value = DataSourceType.SLAVE)
	List<TRADEDATA> get200ByKeyDateTimeDesc(TRADEDATA tRADEDATA);

	@DataSource(value = DataSourceType.SLAVE)
    int deleteByPrimaryKey(TRADEDATA tRADEDATA);
	
	@DataSource(value = DataSourceType.SLAVE)
    public int insertTRADEDATA2(@Param("emps") List<TRADEDATA> emps);

	@DataSource(value = DataSourceType.SLAVE)
	public int updateBatch(@Param("list") List<TRADEDATA> list);

	@DataSource(value = DataSourceType.SLAVE)
	public List<TRADEDATA> selectTradedataInput40Days(TRADEDATA tRADEDATA);

	@DataSource(value = DataSourceType.SLAVE)
	public List<TRADEDATA> selectTradedataTarget40Days(TRADEDATA tRADEDATA);

    
}
